Systems and methods for online ad pricing

ABSTRACT

A computer-implemented method for optimizing publisher profits in online advertising based on real market movements is provided. The method may include dividing an advertisement (ad) placement for an ad unit into a plurality of levels. The method may also include generating a plurality of variables that are configured to test for the real market movements between levels. The method may further include processing ad impressions based on the plurality of variables within a time period to evaluate the real market movements for the ad unit, and determining whether to adjust one or more of the minimum floor prices based on a score for each variable calculated within the time period.

CROSS-REFERENCE

This application claims the benefit of U.S. Provisional Application No.62/352,978 filed Jun. 21, 2016, which is incorporated herein byreference in its entirety.

BACKGROUND

A significant quantity of content published on the Internet is supportedby online advertisements (“ads”). The process by which onlineadvertising is displayed to end users can involve many parties. Apublisher of online content, such as a website, may place an ad requestto fill available ad space complementary to that content. The ad spacemay be offered for sale in a bidding market using an ad exchange andreal-time bidding. This may involve numerous parties interactingautomatically and exchanging information. The information may includepersonal information and online behavior of the end users.

In current real-time bidding (RTB) sales models, publishers often do nothave access to real-time information about market movements that mayallow the publishers to optimize and adjust floor prices. For example,publishers may not know the amounts that advertisers are willing to payfor different ad placements and/or at different time instances. In somecases, setting a floor price too high may turn away buyers (advertisers)at the risk of not finding another buyer later, and potentiallycompromise publisher profits. Conversely, setting the floor price toolow could deprive the publishers an opportunity to maximize profits,when in fact the buyers (advertisers) are willing to pay more.

SUMMARY

Accordingly, recognized herein is a need for systems and methods thatcan (1) test for and determine real-time information about marketmovements, and (2) use the information to dynamically set floor pricesat which publisher earnings can be maximized for an ad placement.

Various embodiments of the present invention can address the above need.The systems and methods disclosed herein can maximize publisher earningsby optimizing the entire displayable area (“real estate”) of adplacements, without focusing on a single impression floor price. Forexample, the overall earnings of an ad placement for an ad unit can bemaximized by dynamically adjusting minimum floor prices at differentlevels over different time periods based on real-time market movements.Additionally, the systems and methods disclosed herein allow publishersto maximize earnings without requiring user-specific impression data andbuyer information to predict an impression value upfront. Theuser-specific impression data may include personal information andonline behavior of the end users, which are often obtained through theuse of cookies. The buyer information may include identities of thebuyers, as well as their historical bid data (e.g., bid prices andpatterns). As such, the systems and methods disclosed herein can help inmaintaining user privacy and advertiser privacy, and preserve theinterests of both publishers and advertisers during an ad placementbidding process.

In an aspect of the present disclosure, a computer-implemented methodfor optimizing publisher profits in online advertising based on realmarket movements. The method may comprise: dividing an advertisement(ad) placement for an ad unit into a plurality of levels; generating aplurality of variables in a computer memory that are configured to testfor the real market movements between levels, wherein the plurality ofvariables comprise (1) a first variable in which a first minimum floorprice is used as a baseline, (2) a second variable in which a secondminimum floor price is set to be a predetermined percentage above thefirst minimum floor price, and (3) a third variable in which a thirdminimum floor price is set to be the predetermined percentage below thefirst minimum floor price; processing ad impressions based on theplurality of variables within a time period to evaluate the real marketmovements for the ad unit; and determining whether to adjust one or moreof the minimum floor prices based on a score for each variablecalculated within the time period.

A system for optimizing publisher profits in online advertising based onreal market movements is provided in accordance with another aspect ofthe invention. The system may comprise: a market analysis server incommunication with an ad exchange server and one or more ad networkservers. The market analysis server may comprise one or more processorsthat are individually or collectively configured to: divide anadvertisement (ad) placement for an ad unit into a plurality of levels;generate a plurality of variables in a computer memory that areconfigured to test for the real market movements between levels, whereinthe plurality of variables comprise (1) a first variable in which afirst minimum floor price is used as a baseline, (2) a second variablein which a second minimum floor price is set to be a predeterminedpercentage above the first minimum floor price, and (3) a third variablein which a third minimum floor price is set to be the predeterminedpercentage below the first minimum floor price; process ad impressionsvia the ad server based on the plurality of variables within a timeperiod to evaluate the real market movements for the ad unit; anddetermine whether to adjust one or more of the minimum floor pricesbased on a score for each variable calculated within the time period.

In another aspect of the present disclosure, a tangible computerreadable medium storing instructions that, when executed by one or moreservers, causes the one or more servers to perform acomputer-implemented method for optimizing publisher profits in onlineadvertising based on real market movements is provided. The method maycomprise: dividing an advertisement (ad) placement for an ad unit into aplurality of levels; generating a plurality of variables that areconfigured to test for the real market movements between levels, whereinthe plurality of variables comprise (1) a first variable in which afirst minimum floor price is used as a baseline, (2) a second variablein which a second minimum floor price is set to be a predeterminedpercentage above the first minimum floor price, and (3) a third variablein which a third minimum floor price is set to be the predeterminedpercentage below the first minimum floor price; processing adimpressions based on the plurality of variables within a time period toevaluate the real market movements for the ad unit; and determiningwhether to adjust one or more of the minimum floor prices based on ascore for each variable calculated within the time period.

Other objects and features of the present invention will become apparentby a review of the specification, claims, and appended figures.

Additional aspects and advantages of the present disclosure will becomereadily apparent to those skilled in this art from the followingdetailed description, wherein only illustrative embodiments of thepresent disclosure are shown and described. As will be realized, thepresent disclosure is capable of other and different embodiments, andits several details are capable of modifications in various obviousrespects, all without departing from the disclosure. Accordingly, thedrawings and description are to be regarded as illustrative in nature,and not as restrictive.

INCORPORATION BY REFERENCE

All publications, patents, and patent applications mentioned in thisspecification are herein incorporated by reference to the same extent asif each individual publication, patent, or patent application wasspecifically and individually indicated to be incorporated by reference.

BRIEF DESCRIPTION OF THE DRAWINGS

The novel features of the invention are set forth with particularity inthe appended claims. A better understanding of the features andadvantages of the present invention will be obtained by reference to thefollowing detailed description that sets forth illustrative embodiments,in which the principles of the invention are utilized, and theaccompanying drawings of which:

The novel features of the invention are set forth with particularity inthe appended claims. A better understanding of the features andadvantages of the present invention will be obtained by reference to thefollowing detailed description that sets forth illustrative embodiments,in which the principles of the invention are utilized, and theaccompanying drawings of which:

FIG. 1 illustrates an exemplary advertising network layout in accordancewith some embodiments;

FIG. 2 illustrates an advertising network layout and handling of an adcall (ad request), in accordance with some embodiments;

FIG. 3 illustrates the dividing of an ad placement for an ad unit into aplurality of levels, and testing at different floor prices betweenlevels, in accordance with some embodiments;

FIG. 4A shows an example of an available ad impression on a desktopcomputer that is being tested at different floor prices, in accordancewith some embodiments;

FIG. 4B shows an example of available ad impressions on different areasof a mobile device that are being tested at different floor prices, inaccordance with some embodiments;

FIG. 5 illustrates a method for optimizing publisher profits in onlineadvertising based on real market movements between ad unit levels, inaccordance with some embodiments;

FIG. 6 illustrates a method for determining whether to adjust one ormore of the first minimum floor price, second minimum floor price, orthird minimum floor price based on the scores calculated for a first,second, and third variables, in accordance with some embodiments;

FIG. 7 illustrates a graph of the scores for different variables wherebya first variable is highest across over different time periods, inaccordance with some embodiments;

FIG. 8 illustrates a graph in which a first minimum floor price remainssubstantially the same across different time periods, in accordance withsome embodiments;

FIG. 9 illustrates a graph of the scores for different variables wherebya second variable is highest across over different time periods, inaccordance with some embodiments;

FIG. 10 illustrate a graph in which the first minimum floor price iscontinuously adjusted upwards across different time periods, inaccordance with some embodiments;

FIG. 11 illustrates a graph of the scores for different variableswhereby a third variable is highest across over different time periods,in accordance with some embodiments;

FIG. 12 illustrate a graph in which the first minimum floor price iscontinuously adjusted downwards across different time periods, inaccordance with some embodiments;

FIG. 13 illustrates a flowchart depicting a method of processing adrequests and optimizing publisher revenue, in accordance with someembodiments;

FIGS. 14 and 15 illustrate a portal for managing ad inventory andmonitoring ad price market movements, in accordance with someembodiments; and

FIG. 16 shows a computer control system that is programmed or otherwiseconfigured to implement methods provided herein.

DETAILED DESCRIPTION

While various embodiments of the invention have been shown and describedherein, it will be obvious to those skilled in the art that suchembodiments are provided by way of example only. Numerous variations,changes, and substitutions may occur to those skilled in the art withoutdeparting from the invention. It should be understood that variousalternatives to the embodiments of the invention described herein may beemployed.

Real-time bidding (RTB) is a sales channel in which a publisher ofonline content, such as a website, may place an ad request to fillavailable ad space complementary to that content. An ad impression maybe defined as a single instance of an ad appearing on a website (i.e.,an end user sees the advertisement). An advertiser may define an adcampaign to include a number of ad impressions sought and a monetaryamount budgeted to purchase the desired impressions. Multipleadvertisers, in pursuit of their respective ad campaigns, may placeauction-style bids on desired ad impressions, with the targeted adimpression going to the highest bidder. Real-time bids submitted by themultiple advertisers are considered not only against one other, but alsoagainst other conditions of the ad request, such as a floor price (areserve price) below which a publisher will not sell a particular adspace. The automated processing of these and other conditions precedentto completing the RTB transaction takes place in milliseconds, resultingin ad delivery that appears to a target consumer to occur almostinstantaneously.

A real-time bidding (RTB) sales model has the potential to givepublishers access to more advertising demand sources and, consequently,to increase publisher revenue. However, current RTB sales models tend tofavor the interests of advertisers over those of publishers. Forexample, many RTB auctions are “second price” auctions, which means thewinning bidder pays only slightly more than the next highest bidder'soffer. Allowing advertisers to reach their target consumers at thelowest possible price using a second price auction creates downwardpricing pressure that may negatively impact publisher revenue.

In some cases, a publisher may attempt to protect against this downwardpricing pressure by setting a floor price. However, publishers often donot have access to real-time information about market movements in orderto optimally set a floor price, and/or adjust the floor prices inresponse to changing market conditions. For example, publishers may notknow the amounts that advertisers are willing to pay for an ad unit overdifferent time periods. In some instances, setting a floor price toohigh may turn away buyers (advertisers) at the risk of not findinganother buyer within a reasonable time period, and potentiallycompromise (reduce) publisher profits. Conversely, setting a floor pricetoo low could deprive a publisher the opportunity to maximize profits,when in fact the advertisers may be willing to pay more.

Current RTB sales models also attempt to predict impression valuesupfront based on the value of the publisher's website, the advertisers'historical bidding patterns, and/or the end users' personal informationand online behavior. Some of the above-described data can containsensitive and/or confidential information, which advertisers andpublishers may not be willing to share with each other, and which theend users may not be willing to provide. The sharing of the end users'personal information and online behavior may also raise issues of userprivacy. Additionally, the focus on specific impressions can result incurrent RTB models failing to account for overall earnings of an adplacement. For example, current RTB models often do not account forbottom level ad units (lower value ad units), and therefore are not ableto extract potential earnings from those bottom level ad units.

Methods and systems of the present disclosure can address at least theabove deficiencies relating to the sale of online ads. Online ads, asused herein, are intended to include any type of advertising media thatis provided electronically to one or more users. Exemplary methods andsystems for dynamically determining and selecting minimum floor pricesbased on market movements are described herein below. In the followingdescription, for purposes of explanation, numerous specific details areset forth to provide a thorough understanding of example embodiments.However, methods and systems of the present disclosure may be practicedwithout these specific details and/or with different combinations of thedetails than are given here. Thus, specific embodiments are given forthe purpose of simplified explanation and not limitation.

Systems and methods for dynamically determining and selecting floorpricing in a real-time bidding scenario are next described in greaterdetail. Throughout this disclosure, the present invention may bereferred to as a market analysis system, a computer program product, acomputer program, a system, and/or a method. Those skilled in the artwill appreciate that this terminology does not affect the scope of theinvention as outlined herein. In the following disclosure, the presentinvention may be referred to as relating to adverts, advertisements,marketing campaigns, unsolicited content, and ads. Those skilled in theart will appreciate that this terminology is only illustrative and doesnot affect the scope of the invention. For instance, the presentinvention may just as easily relate to electronic coupons, politicalmessages, public service, announcements, or informational broadcasts.

FIG. 1 illustrates an exemplary advertising network layout 100, inaccordance with some embodiments. As described in greater detailelsewhere herein, different embodiments of advertising networks may beconfigured, designed, and/or operable to provide various different typesof operations, functionalities, and/or features generally relating toadvertising technology. According to different embodiments, theadvertising network layout 100 may include a plurality of differenttypes of components, devices, modules, processes, systems, etc., which,for example, may be implemented and/or instantiated via the use ofhardware, software, and/or combinations of hardware and software.

In the example of FIG. 1, the advertising network layout 100 may includea user device 110, a communications network 120, a publisher contentserver 130, an advertising server 140, a market analysis system 150, anadvertising exchange server 160, an advertising network server 170, anda database 180. One or more components in the network layout 100 may beprovided in plural. For example, in some embodiments, a plurality ofmarket analysis systems 150 may be provided to test for and monitormarket movements relating to online ad pricing, and to adjust minimumfloor prices for an ad placement of an ad unit to optimize publisherrevenue based on the market movements. The market movements may beindicative of the supply/demand patterns and pricing sensitivities ofpublishers (suppliers) and advertisers (buyers) for the ad placements.

Each of the components may be operatively connected to one another viathe network 120 or any type of communication link that allowstransmission of data from one component to another. One or more of thecomponents may be directly connected to the network 120, or indirectlyto the network via a server, a network interface device, or any otherdevice capable of making such a connection. Alternatively, or inaddition, one or more of the components may be configured to beconnected with the network 120 via a hotspot that, for example, mayemploy a router connected to a link to a network. For example, andwithout limitation, one or more components may be connected to theInternet by a wireless fidelity (WiFi) connection. A network interfacedevice may be any type of network interface device, including, withoutlimitation, an Ethernet card and a wireless communication device such asan 802.11/WiFi network interface or a Wireless LAN device. A mobilenetwork may be any type of cellular network device, including GSM, GPRS,CDMA, EV-DO, EDGE, 3G, DECT, OFDMA, WIMAX, and LTE communicationdevices. These and other communication standards permitting connectionto the network 120 may be supported within the invention. Moreover,other communication standards connecting one or more components with anintermediary device that is connected to the Internet, such as USB,FireWire, Thunderbolt, and any other digital communication standard maybe supported by the invention.

The user device(s) 110 may include, for example, one or more computingdevices that are capable of electronically navigating to a publisher'swebsite hosted on the publisher content server 130. A user device caninclude, among other things, desktop computers, laptops or notebookcomputers, mobile devices (e.g., smart phones, cell phones, personaldigital assistants (PDAs), and tablets), or wearable devices (e.g.,smartwatches). A user device can also include any other media contentplayer, for example, a set-top box, a television set, a video gamesystem, or any electronic device capable of providing or rendering data.A user device may include various computing components, such as one ormore processors, and one or more memory devices storing softwareinstructions executed by the processor(s) and data.

In some embodiments, the network layout may include a plurality of userdevices. Each user device may be associated with a user. In someembodiments, more than one user may be associated with a user device.Alternatively, more than one user device may be associated with a user.The users may be located geographically at a same location, or atdifferent geographical locations (e.g., different cities, countries,etc.), although this is not a limitation of the invention.

In some embodiments, the network layout may include a plurality ofnodes. Each user device in the network layout may correspond to a node.A node may be a logically independent entity in the network layout.Therefore, the plurality of nodes in the network layout can representdifferent entities. For example, each node may be associated with auser, a group of users, or groups of users. For example, in oneembodiment, a node may correspond to an individual entity (e.g., anindividual). In some particular embodiments, a node may correspond tomultiple entities (e.g., a group of individuals).

The publisher content server 130 may be managed by a publisher. In someinstances, the publisher content server 130 may be managed by a thirdparty entity on behalf of the publisher or another entity. The publishercontent server 130 may be configured to render and provide access to oneor more Internet-based websites, webpages, etc. The publisher contentserver 130 may be configured to store one or more webpages comprisingthe publisher's website. Alternatively, one or more webpages may bestored in a database (e.g., database 180). The publisher content server130 may be in operable communication with the database, and configuredto access and/or retrieve the webpages from the database. Thepublisher's webpages may include digital information in the form ofprimary content (e.g., the publisher's website) and complementarycontent (such as advertisements, pictures, figures, text, videos, audiorecordings) or any other digital content. The user device may beconfigured to display the one or more webpages when the userelectronically navigates to the publisher's website using the userdevice.

The publisher's webpage may include one or more lines of executablecomputer program codes for generating an ad call when the webpage isloaded on a web browser on the user device. An ad call may be referredto interchangeably herein as an ad request. An ad call is a call that ismade by the web browser on the user device for an ad to be displayed onthe webpage. It should be noted that ads are typically not part of thecontent of the webpages, and are usually stored separately from thewebpage content. For example, different ads may be stored in differentad databases and/or on different advertising servers.

An ad call may be considered as a request from a client (user) to aserver (e.g., market analysis system, ad exchange server, ad networkserver, etc.) for an ad impression to be delivered. An ad call maycomprise information about the publisher ID, browser cookies, size,location, etc. In some embodiments, when the codes for the ad call areexecuted on the user device, the market analysis system may obtaininformation about the available ad impression from the user device, andmake an ad call to the ad exchange server 160 on behalf of the userdevice. Alternatively, the market analysis system may also obtaininformation about the available ad impression from the publisher contentserver 130. The ad call may include a request for an ad to be loadedwith the content of the webpage in the browser on the user device. Theadvertising exchange server may further put up the available adimpression in an online auction to potential buyers (e.g., advertisingnetworks). A buyer that puts in the winning bid obtains the right topost an ad. Each ad that is fully loaded on the webpage may be countedas one ad impression.

The ad server 140 may be a web server that stores advertising contentused in online marketing and delivers that content onto various digitalplatforms such as; websites, social media outlets and mobile apps. Thead server may be configured to distribute the advertising material intoappropriate advertising slots online. The ad server may be managed by anentity that provides software to websites and advertising companies toserve ads, count them, choose the ads that will make the website oradvertiser the most money and monitor the progress of different onlineadvertising campaigns. The ad server 140 may be configured to deliverads to users, to manage the advertising space of a website and, in thecase of third party ad servers, to provide an independent counting andtracking system for advertisers/marketers. The ad server 140 can alsocount clicks/impressions in order to generate reports, which helpsadvertisers to determine the ROI for an advertisement on a particularweb page. The ad server 140 can be managed or used by the publishers.Alternatively, the ad server 140 can be managed or used by third partiessuch as demand partners/advertising networks (e.g., advertisers,marketers, etc.).

In some embodiments, the ad network server 170 may include API-based adserving networks such as “Adnet” or Server-to-Server (“S2S”). DifferentAPI-based ad serving networks may be classified as either Beacon BasedCounting (BBC) Networks or Server Side Counting Networks (Non BBC). AServer Side Counting Network may count an impression (e.g., for CPMpurposes) when the network responds with a valid creative. This may alsobe referred to as Server based counting (e.g., an impression is countedonce the creative is returned). Alternatively, a Beacon Based CountingNetwork counts an impression when the creative is rendered (e.g., viause of a beacon). For example, in Beacon based Counting (BBC), animpression is counted by the network once the ad serving beacon isexecuted.

In some embodiments, the ad network server 170 may include one or moreDemand Side Platforms (DSPs) associated with one or more advertisersand/or ad serving entities. In some instances, the advertisers and/or adserving entities may participate in real-time bidding or auctioning ofad impressions. The real-time bidding or auctioning of ad impressionsmay be facilitated using the ad exchange server 160. The ad exchangeserver may allow one or more advertisers to participate in real-timebidding for desired ad impressions. For example, advertisers may use thereal-time bidding to bid on ad space, rather than pay the publisher'sset price for the ad space.

The ad exchange server 160 may comprise a real-time bidding (RTB) engineconfigured to manage calls to one or more ad network servers 170, todetermine which of several competing advertisers wins an auction bid toserve an ad to a publisher's webpage. The computer-programmedinstructions that may constitute the RTB engine and/or the transactiondata manipulated during the RTB process may be stored to and retrievedfrom an exchange database (e.g., database 180). The exchange server mayexecute the RTB engine to determine which ad networks should be exposedto a publisher's ad request, and may create a request package for eachad network server containing information for the advertiser to make abidding decision. The information may include, for example auctioncriteria and floor prices that are set by the market analysis system150.

The highest bidding advertiser may be allowed by the ad exchange server160 to serve the ad placement. More specifically, the RTB engine mayroute the ad to the publisher webpage, may inform the ad network server170 of its winning bid, and may communicate the clearing price for thead placement to facilitate payment. Alternatively, the ad network server170 may respond to an ad request package with a signal indicating adecision not to bid on the impression. The RTB engine may recordinformation regarding winning bids, failed bids, and no bids (alsoreferred to as passbacks) for the ad impression and may transmit thatpackage to the soliciting publisher.

The market analysis system 150 may include one or more servers which maycommunicate directly and/or indirectly with other components/entities ofthe advertising network layout 100. The market analysis system 150 maystore and/or execute software that performs algorithms for dynamicallydetermining and setting minimum floor prices for various ad placementsto optimize publisher revenues, as described in detail later in thespecification.

Any of the servers described herein may include a web server, anenterprise server, or any other type of computer server, and can becomputer programmed to accept requests (e.g., HTTP, or other protocolsthat can initiate data transmission) from a computing device (e.g., auser device) and to serve the computing device with requested data. Inaddition, a server can be a broadcasting facility, such as free-to-air,cable, satellite, and other broadcasting facility, for distributingdata. A server may also be a server in a data network (e.g., a cloudcomputing network).

A server may include various computing components, such as one or moreprocessors, one or more memory devices storing software instructionsexecuted by the processor(s), and data. A server can have one or moreprocessors and at least one memory for storing program instructions. Theprocessor(s) can be a single or multiple microprocessors, fieldprogrammable gate arrays (FPGAs), or digital signal processors (DSPs)capable of executing particular sets of instructions. Computer-readableinstructions can be stored on a tangible non-transitorycomputer-readable medium, such as a flexible disk, a hard disk, a CD-ROM(compact disk-read only memory), and MO (magneto-optical), a DVD-ROM(digital versatile disk-read only memory), a DVD RAM (digital versatiledisk-random access memory), or a semiconductor memory. Alternatively,the methods disclosed herein can be implemented in hardware componentsor combinations of hardware and software such as, for example, ASICs,special purpose computers, or general purpose computers. In someembodiments, multiple devices may implement the functionality associatedwith one server.

Although particular computing devices are illustrated and networksdescribed, it is to be appreciated and understood that other computingdevices and networks can be utilized without departing from the spiritand scope of the embodiments described herein. In addition, one or morecomponents of the advertising network layout 100 may be interconnectedin a variety of ways, and may in some embodiments be directly connectedto, co-located with, or remote from one another, as one of ordinaryskill will appreciate.

FIG. 2 illustrates an advertising network layout and handling of an adcall (request), in accordance with some embodiments. An ad call may be arequest for an ad to be displayed on a webpage, as previously described.Referring to FIG. 2, a user device 210 may be associated with a user.The user device may be a desktop computer or a mobile device. The usermay use a web browser installed on the user device to access apublisher's webpage hosted on a publisher content server 230. When theuser loads the webpage onto the browser, a webpage request is sent fromthe user device to the publisher content server, that opens a connectionto the publisher content server. The publisher content server may beconfigured to provide contents of the webpage to the user upon receivingthe webpage request, to be rendered in the browser on the user device.

The contents of the webpage may be in the form of HTML, and may includean ad code. The ad code may comprise an ad impression that is availablefor display on the webpage. The ad code may also include a location onthe webpage where the ad impression is to be displayed. The location maybe defined with respect to the viewable space on a webpage when it firstloads in the browser on the user device. For example, the ad code mayindicate whether the ad impression is above the fold (ATF) or below thefold (BTF). ATF ads may be more likely to be interacted or clicked on bya user since they are in the displayed area of the webpage. Conversely,BTF ads may be less likely to be interacted or clicked on by a user,since the user has to scroll below the “fold” line in order to view thead.

When the browser on the user device executes the ad code, the browsermay transmit an ad call (or ad request) to a market analysis system 250.The ad call is a request to obtain an advertising payload (i.e., an ad)for display in the available impression location. The ad call may be anad placement (i.e., placement for an ad). The market analysis system maybe configured to process the ad call, by transmitting the availableimpression with a set of auction criteria to an ad exchange server 260.The market analysis system may be configured to monitor and determinereal market movements based on the auction criteria, and optimize thepublisher profits by adjusting floor prices based on the real marketmovements. For example, the market analysis system may be configured todivide the ad placement for an ad unit into a plurality of levels. Insome embodiments (for example as shown in part A of FIG. 3), the ad unitlevels may comprise a middle level having a first price range, a toplevel having a second price range, and a bottom level having a thirdprice range. A plurality of minimum floor prices may be provided betweenad unit levels. For example, as shown in part A of FIG. 3, a pluralityof floor prices (P1, P2, and P3) may be provided between the top leveland the middle level. A first floor price P1 may be less than a secondfloor price P2, and greater than a third floor price P3. The differentfloor prices may be used to test market movements for an ad unit betweenlevels (to determine whether advertisers are willing to pay more or payless for a given ad unit), as described below.

The market analysis system may be configured to generate a plurality ofvariables that are designed to test for real market movements of theprice of an ad unit. The plurality of variables may be included in theset of auction criteria. In some embodiments, the plurality of variablesmay comprise (1) a first variable in which the first minimum floor priceP1 is used as a baseline, (2) a second variable in which the secondminimum floor price P2 is set to be a first predetermined percentage Δ1above the first minimum floor price, and (3) a third variable in whichthe third minimum floor price P3 is set to be a second predeterminedpercentage Δ2 below the first minimum floor price. (See, for example,part A of FIG. 3). The second variable and the third variable may betest variables that are usable in conjunction with the first variable totest for the real market movements relating to the ad pricing betweenlevels. The first, second, and third variables may be generated usingone or more processors in the market analysis system. Alternatively, thefirst, second, and third variables may be generated in part by an entitythat manages (or is associated with) the market analysis system.

In some embodiments, the predetermined percentages Δ1 and Δ2 may be thesame. Alternatively, the predetermined percentages Δ1 and Δ2 may bedifferent. In some cases, each of the predetermined percentages mayrange from about 5% to about 20% of the first minimum floor price.Alternatively, each of the predetermined percentages may be less thanabout 5%, or greater than about 20% of the first minimum floor price. Inone instance, the second minimum floor price may be set to be 10% abovethe first minimum floor price (i.e., Δ1=10%), and the third minimumfloor price may be set to be 10% below the first minimum floor price(i.e., Δ2=10%).

In some embodiments, the second minimum floor price and the thirdminimum floor price may be set to different predetermined percentagesabove/below the first minimum floor price. In one instance, the firstpredetermined percentage Δ1 may be greater than the second predeterminedpercentage Δ2. For example, in one instance, the first predeterminedpercentage Δ1 may be about 15%, and the second predetermined percentageΔ2 may be about 12%. Alternatively, the first predetermined percentageΔ1 may be less than the second predetermined percentage Δ2. For example,in one instance, the first predetermined percentage Δ1 may be about 9%,and the second predetermined percentage Δ2 may be about 16%. Any ratiosof the first predetermined percentage Δ1 to the second predeterminedpercentage Δ2 may be contemplated.

The ad exchange server may be configured to offer the availableimpression to potential buyers (e.g., advertisers or advertisingnetworks) via an online auction. The buyers may include entities thatare associated with, or that manage one or more ad network servers 270.The buyers may submit bids for the available impression to the adexchange server via the ad network server(s). The ad exchange server maybe configured to receive bid data from a plurality of buyers, andprocess the bid data based on the auction criteria set by the marketanalysis system. For example, the ad exchange server may be configuredto process the bid data based on the first minimum floor price, secondminimum floor price, and/or third minimum floor price as defined by thefirst, second, and third variables.

In some embodiments, available ad impressions may be segmented into twoor more categories. The two or more categories may comprise, forexample, (1) device types and (2) geographical regions in which the adimpressions are displayed to a plurality of end users. In some cases,the device types may include (i) mobile devices and (ii) desktoppersonal computers sub-categories. Each of the geographical regions maycomprise one or more countries. For example, in some embodiments, the adimpressions may be segmented into a first category and a secondcategory. The first category may be classified by device type (e.g.,desktop and non-desktop). The second category may be classified bycountry tiers comprising a plurality of tiers. In some embodiments, thecountries may be grouped based on ad profitability level. For example,tier 1 may include a first group of countries in which publisher profitsare high, and tier 2 may include a second group of countries in whichpublisher profits are lower. The ad profitability level in each countrymay depend on numerous factors, for example the success of anadvertiser's ad campaign, the amounts that advertisers are willing topay for ad impressions, the size of the consumer base, the consumers'preferences, etc. The grouping of countries into different tiers by adprofitability level can also allow advertisers to focus/adjust theiradvertising efforts and budget for different countries. As an example,tier 1 may include a group of countries comprising the United States,Australia, Singapore, Canada, United Kingdom, Switzerland, and NewZealand. As another example, tier 2 may include a group of countriescomprising the Netherlands, Bermuda, Hong Kong, Norway, Germany, France,United Arab Emirates, Belgium, Japan, Qatar, Austria, Sweden,Lichtenstein, Finland, Kiribati, Nauru, Malta, Mauritania, Luxembourg,Iceland, Mali, Puerto Rico, Spain, Ireland, Monaco, Denmark, and Guam.As a further example, tier 3 may include a group of countries comprisingCyprus, South Africa, Iran, Lesotho, Israel, Kuwait, Malaysia, SaudiArabia, Cayman Islands, Tajikistan, Bahrain, Yemen, Eritrea, Laos, StLucia, Anguilla, Haiti, Micronesia, U.S. Virgin Islands, Italy, CzechRepublic, Hungary, Bahamas, St. Kitts & Nevis, American Samoa, CookIslands, Somalia, Thailand, South Korea, Jordan, Mexico, Panama, BritishVirgin Islands, China, Slovakia, Peru, Latvia, Chile, Jamaica, India,Estonia, Brazil, Poland, Portugal, Brunei, Lithuania, Romania,Argentina, Slovenia, Croatia, and Greece. Additionally, tier 4 mayinclude one or more countries that are not in any of tiers 1, 2, and 3.Any number of country tiers may be provided. It should be noted that thecountries listed in the above tiers are merely exemplary, and that thetiers can be modified in different ways. For example, one or morecountries may be added to or omitted from a tier, or moved from one tierto another tier depending on changes in ad profitability level.

In some embodiments, the segmentation categories may not include an age,gender, online viewing preference, demographic information, geographiclocation, socioeconomic data (income, nationality, race), that isspecific to each of the plurality of users.

The ad exchange server can process auction bids based on (1) thecriteria (e.g., first/second/third minimum floor prices) set by themarket analysis system, and (2) segmented categories. After the adexchange server has determined a winning bid from the bid data, the adexchange server may transmit the auction results to one or more of thead network servers 270. In some instances, the ad exchange server maytransmit the auction results to all ad network servers that hadsubmitted bids for the auction. In other instances, the ad exchangeserver may transmit the auction results only to the ad network serverthat had submitted the winning bid. In addition, the ad exchange servermay transmit the auction results back to the market analysis system, forfurther analysis by the market analysis system as described elsewhereherein. The market analysis system may be configured to analyze theauction results to determine and/or adjust the minimum floor prices, inorder to optimize the overall earnings for an ad placement. For theexample, the profits of the ad placement can be optimized by extractingthe maximum value (i.e., price that the market is willing to pay at thatgiven instance) for the ad placement.

Upon receiving the auction results, the ad network server that submittedthe winning bid may provide instructions to an ad server 240 to deliverthe ad on the webpage to the user. An ad impression is counted by the adserver when the ad is fully (successfully) loaded on the webpage in thebrowser of the user device. The ad server may be further configured totransmit the successful ad impression to the market analysis system.

To evaluate real market movements, an ad unit may be tested at differentfloor prices between different ad unit levels. For example, referring toparts A and B of FIG. 3, an ad unit may be tested between the top leveland the middle level during a specific time period having a length oftime T1. The ad unit may be tested at the first minimum floor price P1for a first predetermined amount of time corresponding to x % of T1. Thead unit may also be tested at the second minimum floor price P2 for asecond predetermined amount of time corresponding to y % of T1. The adunit may also be tested at the third minimum floor price P3 for a thirdpredetermined amount of time corresponding to z % of T1. In someembodiments, x may be greater than each of y and z. Additionally, y andz may be equal or different. For example, in one instance, y may begreater than z. Alternatively, y may be less than z. Any ratios of x, y,and z may be contemplated.

In some cases, the first predetermined amount of time may be about 90%of the time period T1, during which auctions for ad impressions may beprocessed based on the first minimum floor price. In some cases, thesecond predetermined amount of time may be about 5% of the time periodT1, during which auctions for ad impressions may be processed based onthe second minimum floor price. In some cases, the third predeterminedamount of time may be about 5% of the time period T1, during whichauctions for ad impressions may be processed based on the third minimumfloor price. The second and third variables (associated with the secondand third minimum floor prices) can be used in conjunction with thefirst variable (associated with the first minimum floor price) to testfor real market movements, to determine whether the market is goingupwards or going downwards.

The testing at different floor prices can be performed in a random orderor a pseudorandom order within a time period. For example, as shown inpart B of FIG. 3, the ad unit can be tested at random at different floorprices between levels within the time period T1, in accordance with apredetermined temporal distribution (e.g., 5%/5%/90% as describedabove). In some alternative embodiments, the ad unit can be tested in apredetermined order between levels within the time period T1. Any orderor sequence of testing at different floor prices between different adunit levels may be contemplated.

In some embodiments, a plurality of ad impressions may be provided to aplurality of end users over different time periods. Within each timeperiod, the ad unit can be tested at different floor prices betweendifferent ad unit levels, as described above. A plurality of timeperiods may be distributed over a day, a week, or a month. In someembodiments, a time period may be a 6-hour block within a day.Sequential time periods may correspond to adjacent 6-hour time blocks.For example, a first time period may be from 12 am to 6 am, a secondtime period may be from 6 am to 12 pm, a third time period may be from12 pm to 6 pm, and a fourth time period may be from 6 pm to 12 am. Eachtime period may be referred to interchangeably herein as a channel. Forexample, the first time period may correspond to channel 1, the secondtime period may correspond to channel 2, the third time period maycorrespond to channel 3, and the fourth time period may correspond tochannel 4. The market analysis system may be configured to receiveauction results of the different channels, and analyze the auctionresults to adjust the minimum floor prices to optimize publisher profitsduring and across different time periods.

FIG. 4A shows an example of an available ad impression on a desktopcomputer that is being tested at different floor prices within aspecific time period, in accordance with some embodiments. A user device410-1 may include a computer-implemented display 412-1 that isconfigured to display a webpage 432-1 within a web browser. In theexample of FIG. 4A, the user device 410-1 may be a desktop computer. Thewebpage may include an ad code for executing an available ad impression452. The ad unit may be tested at the first minimum floor price P1 forabout 90% of the time during the time period. Additionally, the ad unitmay be tested at the second minimum floor price P2 for about 5% of thetime during the time period. Likewise, the ad unit may be tested at thethird minimum floor price P3 for about 5% of the time during the timeperiod. As previously described, the second and third variables(associated with the second and third minimum floor prices) can be usedin conjunction with the first variable (associated with the firstminimum floor price) to test for real market movements, specifically todetermine whether the market is going upwards or going downwards.

FIG. 4B shows an example of available ad impressions on different areasof a mobile device that are being tested at different floor priceswithin a specific time period, in accordance with some embodiments. Auser device 410-2 may include a computer-implemented display 412-2 thatis configured to display a webpage 432-2 within a web browser. In theexample of FIG. 4B, the user device 410-2 may be a mobile device (e.g.,a smartphone or a tablet). The webpage may include an ad code forexecuting a plurality of available ad impressions 452-1, 452-2, and452-3. The available ad impressions may be provided on different displayareas. The different display areas may include a top area, a centralarea, a bottom area, and/or peripheral area of the browser screen. Thedifferent display areas may be provided in any shape and/or size. Insome instances, a display area may be rectangle-shaped, while anotherdisplay area may be any oval-shaped. Additionally, different displayareas can have different sizes. The available ad impressions can betested at different floor prices between different ad unit levels, asdescribed below

In FIG. 4B, the webpage may include an ad code for executing theavailable ad impression 452-2. The ad impression 452-2 may be providedas a top Multi-Purpose Unit (MPU) loading. In the top MPU loading, thead unit may be loaded at a position that is more than 50% above the fold(ATF) on the webpage. The ad unit may be tested at a first minimum floorprice P1(A) for about 90% of the time during a time period).Additionally, the ad unit may be tested at a second minimum floor priceP2(A) for about 5% of the time during the time period. Likewise, the adunit may be tested at a third minimum floor price P3(A) for about 5% ofthe time during the time period. The second and third variables(associated with the second and third minimum floor prices P2(A) andP3(A)) can be used in conjunction with the first variable (associatedwith the first minimum floor price P1(A)) to test for real marketmovements, in order to determine whether the market is going upwards orgoing downwards for the pricing of the ad impression 452-2.

The webpage may also include another ad code for executing the availablead impression 452-1. The ad impression 452-1 may be provided as aleaderboard loading. In the leaderboard loading, the ad unit may beloaded near the top of the displayable area on the webpage. The ad unitmay be tested at a first minimum floor price P1(B) for about 90% of thetime during the time period. Additionally, the ad unit may be tested ata second minimum floor price P2(B) for about 5% of the time during thetime period. Likewise, the ad unit may be tested at a third minimumfloor price P3(B) for about 5% of the time during the time period. Thesecond and third variables (associated with the second and third minimumfloor prices P2(B) and P3(B)) can be used in conjunction with the firstvariable (associated with the first minimum floor price P1(B)) to testfor real market movements, in order to determine whether the market isgoing upwards or going downwards for the pricing of the ad impression452-1.

Similarly, the webpage may further include another ad code for executingthe available ad impression 452-3. The ad impression 452-3 may beprovided as a mid Multi-Purpose Unit (MPU) loading. In the mid MPUloading, the ad unit may be loaded at a position that is less than 50%above the fold (ATF) on a webpage. The ad unit may be tested at a firstminimum floor price P1(C) for about 90% of the time during the timeperiod. Additionally, the ad unit may be tested at a second minimumfloor price P2(C) for about 5% of the time during the time period.Likewise, the ad unit may be tested at a third minimum floor price P3(C)for about 5% of the time during the time period. The second and thirdvariables (associated with the second and third minimum floor pricesP2(C) and P3(C)) can be used in conjunction with the first variable(associated with the first minimum floor price P1(C)) to test for realmarket movements, in order to determine whether the market is goingupwards or going downwards for the pricing of the ad impression 452-3.In the example of FIG. 4B, some of the floor prices P1(A), P2(A), P3(A),P1(B), P2(B), P3(B), P1(C), P2(C), and P3(C) may be the same ordifferent from one another. In some cases, the group of floor pricesP1(A), P2(A), P3(A) may be higher than the group of floor prices P1(B),P2(B), P3(B). The group of floor prices P1(B), P2(B), P3(B) may behigher than the group of floor prices P1(C), P2(C), P3(C).

Accordingly, the embodiment in FIG. 4B can be used to maximize publisherearnings by optimizing the entire displayable area (“real estate”) ofdifferent ad placements, without focusing on a single impression floorprice. For example, the overall earnings of an ad placement for each adunit can be maximized by dynamically adjusting minimum floor pricesbetween ad unit levels within and across different time periods based onreal-time market movements. It should be appreciated that the examplesof FIGS. 4A and 4B can be modified in various ways. For example, theembodiment of FIG. 4A can include ad placements for ad units ondifferent displayable areas, whereby each ad unit is tested at differentfloor prices between levels within a time period.

FIG. 5 illustrates a method for optimizing publisher profits in onlineadvertising based on real market movements, in accordance with someembodiments. First, the market analysis system may divide an adplacement for an ad unit into a plurality of price levels (502). The adunit levels may comprise a middle level having a first price range, atop level having a second price range, and a bottom level having a thirdprice range. A plurality of minimum floor prices may be provided betweenad unit levels, for example as previously described in part A of FIG. 3.The different floor prices may be used to test market movements for anad unit between levels (to determine whether advertisers are willing topay more or pay less for a given ad unit).

Next, the market analysis system may generate a plurality of variablesthat are configured to test for the real market movements (504). Theplurality of variables may comprise (1) a first variable in which afirst minimum floor price is used as a baseline, (2) a second variablein which a second minimum floor price is set to be a predeterminedpercentage above the first minimum floor price, and (3) a third variablein which a third minimum floor price is set to be the predeterminedpercentage below the first minimum floor price. The plurality ofvariables may be stored in a memory or database located with the marketanalysis system, or remote from the market analysis system.

Next, the market analysis system may process ad impressions based on theplurality of variables within a time period to evaluate real marketmovements for the ad unit (506). In some cases, multiple ad impressionscan also be delivered to multiple users (on multiple user devices) atany time instance. In some cases, multiple ad impressions can bedelivered to a single webpage and presented for bidding by multiplebuyers (e.g., advertising networks) in online auctions. The marketanalysis system may be configured to analyze the auction results fordifferent ad impressions that are tested at different floor priceswithin a time period.

Next, the market analysis system may determine whether to adjust one ormore the first, second, or third minimum floor prices based on a scorefor each variable calculated within the time period (508). For example,the market analysis system may dynamically adjust one or more the first,second, or third minimum floor prices within the time period to optimizethe publisher profits for an ad call. In particular, the market analysissystem can continuously and/or periodically adjust (e.g., dynamicallyand in real-time) one or more of the first, second, or third minimumfloor prices based on the scores for the variables within the timeperiod. The scores may be indicative of market movements that reflectsupply and demand patterns for different ad placements/ad impressions.

The market analysis system may be configured to calculate a score foreach variable based on a plurality of metrics obtained for each variableduring the time period. In some embodiments, the score for each variablemay be calculated by a third party entity that is different from anentity that administers the publisher content server and/or the adnetwork server(s). The third party entity may be, for example, a companythat provides and/or manages the market analysis system.

The plurality of metrics may include: (i) number of ad requests, (ii)number of matched requests, (iii) number of fill impressions, (iv) fillrate, (v) cost per mille (CPM), and/or (vi) earnings. The number of adrequests may be the total number of ad requests (or ad calls) receivedwithin the time period. The number of matched requests may be the totalnumber of ad requests that received successful bids from buyers (i.e.,the ad requests that were “matched” with buyers). The fill ratecorresponds to the ratio of the number of matched requests to the totalnumber of ad requests. The cost per mille (CPM) is a measure of adperformance, and indicates a cost (or price) of showing an ad onethousand times. The CPM is also a measure of revenue that the publishercan expect to receive from an advertising network based on the number ofimpressions, or page views, of the webpage content with the ad. Theearnings of the publisher can be calculated by multiplying the CPM withthe number of matched requests and dividing by one thousand.

In some embodiments, the market analysis system may be configured tocalculate the score for each variable without evaluating metrics such asan age, gender, online viewing preference, demographic information,geographic location, socioeconomic data (income, nationality, race),user identity, of the plurality of users, and that is specific to eachuser.

FIG. 6 illustrates a method for determining whether to adjust one ormore of the first minimum floor price, second minimum floor price, orthird minimum floor price based on the scores calculated for the first,second, and third variables, in accordance with some embodiments.Referring to FIG. 6, the market analysis system may be configured tocalculate the score for each variable based on (i) the earnings at afirst ad unit level and a second ad unit level, and (ii) the number ofad requests at the first ad unit level. The second ad unit level may bebelow the first ad unit level. In some embodiments, the market analysissystem may calculate a first score S1 for the first variable, a secondscore S2 for the second variable, and a third score S3 for the thirdvariable (602). The first score for the first variable may be calculatedby (a) summing the earnings at the first minimum floor price at thefirst ad unit level and the second ad unit level, and (b) dividing theearnings by the number of ad requests at the first minimum floor priceat the first ad unit level. Similarly, the second score for the secondvariable may be calculated by (a) summing the earnings at the secondminimum floor price at the first ad unit level and the second ad unitlevel, and (b) dividing the earnings by the number of ad requests at thesecond minimum floor price at the first ad unit level. Likewise, thethird score for the third variable may be calculated by (a) summing theearnings at the third minimum floor price at the first ad unit level andthe second ad unit level, and (b) dividing the earnings by the number ofad requests at the third minimum floor price at the first ad unit level.

Next, the market analysis system may be configured to compare the firstscore, the second score, and the third score (604). The market analysissystem may further determine whether to adjust at least one of the firstminimum floor price, second minimum floor price, or third minimum floorprice at the first ad unit level based on the comparison results (606).The comparison may include determining which of the first score, secondscore, and third score has a highest value.

In some embodiments, the market analysis system may adjust the firstminimum floor price at the first ad unit level to correspond to thefirst minimum floor price at the second ad unit level if the first scoreis higher than each of the second score and third score (608-1).Alternatively, the market analysis system may adjust the first minimumfloor price at the first ad unit level to correspond to the secondminimum floor price at the second ad unit level when the second score ishigher than each of the first score and third score (608-2). Conversely,the market analysis system may adjust the first minimum floor price atthe first ad unit level to correspond to the third minimum floor priceat the second ad unit level when the third score is higher than each ofthe first score and second score (608-3).

The above-described sequence of steps in FIG. 6 may be repeated for aplurality of ad impressions during a specific time period by testing atdifferent floor prices between levels. Accordingly, the optimal floorprices at a current ad unit level can be determined based on the scoresfor the variables.

Tables 1A and 1B below illustrate an example of how the scores for thevariables are calculated by applying and testing floor prices fordifferent levels of an ad unit. The market analysis system may beconfigured to execute a “surge” algorithm provided through a softwarecode that is implementable on a computer or a server. The marketanalysis system can execute the algorithm in order to determine the bestfloor price for an unspecified level and maximize overall earnings forthat level. Specifically, the market analysis system can determine thebest floor price for the unspecified level by evaluating one or morelevels below that unspecified level. For example, referring to Table 1A,ad requests at a first level (L1) may be allocated and tested atdifferent minimum floor prices. For L1, the market analysis system maybe configured to send the following ad requests to the ad exchangeserver: 99802 ad requests to be processed based on the first minimumfloor price, 5041 ad requests to be processed based on the secondminimum floor price, and 5009 ad requests to be processed based on thethird minimum floor price. The ad exchange server may be configured toreceive and process real-time bids on the set of auction criteriaprovided by the market analysis system. In one example, 14270 out of the99802 ad requests may at least match the first minimum floor price; 506out of the 5041 ad requests may at least match the second minimum floorprice; and 841 out of the 5009 ad requests may at least match the thirdminimum floor price. Accordingly, the fill rate for the ad requests atthe first minimum floor price may be 14.3%, the fill rate for the adrequests at the second minimum floor price may be 10.04%, and the fillrate for the ad requests at the third minimum floor price may be 16.79%.Out of the 14270 matched requests at the first minimum floor price,13363 may realize into ad impressions. For example, out of the 506matched requests at the second minimum floor price, 476 may realize intoad impressions. Out of the 841 matched requests at the third minimumfloor price, 801 may realize into ad impressions. Accordingly, the CPMsat the first, second, and third minimum floor prices may be $1.05,$1.18, and $0.87, respectively. The earnings at the first, second, andthird minimum floor prices may be $14.94, $0.60, and $0.73,respectively.

As shown in Table 1A, not all of the impressions for L1 may be filled atthe end of the first auction. Also, the data obtained for L1 alone isnot sufficient for extracting market movements to determine the bestfloor price for L1. In order to find the best floor price for L1, themarket analysis system is configured to evaluate a next level L2 belowL1. The data captured in L2 can be used to provide feedback to themarket analysis system (or “surge” algorithm) to determine the bestfloor price in L1, and ensure that ad earnings are not lost. For L2, themarket analysis system may be configured to send the following adrequests to the ad exchange server: 80328 ad requests to be processedbased on the first minimum floor price, 4205 ad requests to be processedbased on the second minimum floor price, and 3925 ad requests to beprocessed based on the third minimum floor price. It should be notedthat the number of ad requests for L2 need not be equal to the availableimpressions from L1 that are not filled. This is because some of theavailable impressions from L1 may be lost due to time elapsed after thefirst auction. The metrics for the matched requests, fill rate, numberof impressions, CPM, and earnings for L2 can be obtained similar tothose for L1. As mentioned above, the data captured in L2 can be used toprovide feedback to the market analysis system (or “surge” algorithm) todetermine the best floor price in L1, as shown in Table 1B.

Table 1B shows the combined earnings for L1 and L2, the combinedeffective CPM (e-CPM), and the scores calculated for the differentvariables by the market analysis system. The combined earnings at eachfloor price may be obtained by summing the corresponding earnings for L1and L2. The combined e-CPM values can be calculated based on thecombined earnings and the total number of corresponding matched requestsfor L1 and L2. However, the combined e-CPM values often do not accountfor discrepancies between the number of matched requests and the numberof ad impressions. Additionally, the combined e-CPM values may notadequately account for the fill rates.

The market analysis system according to various embodiments of thepresent disclosure can generate scores for the different variables.Market movements/behavior for online ad pricing can be tracked based onthose scores. Unlike conventional e-CPM values, the scores calculated bythe market analysis system can account for discrepancies (betweenmatched requests and ad impressions) as well as fill rates. As shown inTable 1B, the score for the first variable is 0.22, which is greaterthan each of the score for the second variable (0.19) and third variable(0.20). Based on the scores, the market analysis system may determinethat the best floor price for L1 is for it to remain the same. Inanother embodiment (not shown), the score for the second variable may begreater than each of the score for the first variable and thirdvariable, and thus the market analysis system may determine that thebest floor price for L1 is for it to go up. In yet another embodiment(not shown), the score for the third variable may be greater than eachof the score for the first variable and second variable, and thus themarket analysis system may determine that the best floor price for L1 isfor it to go down. The above-described market scenarios are furtherdescribed in detail with respect to FIGS. 7, 8, 9, 10, 11, and 12.

TABLE 1A Level Variable Ad Requests Matched Requests Fill ImpressionsCPM Earnings L1 Third 5,009 841 16.79% 801 $ 0.87 $ 0.73 Second 5,041506 10.04% 476 $ 1.18 $ 0.60 First 99,802 14,270 14.30% 13,363 $ 1.05 $14.94 L2 Third 3,925 895 22.80% 904 $ 0.33 $ 0.29 Second 4,205 1,06425.30% 1,151 $ 0.35 $ 0.37 First 80,328 19,803 24.65% 20,480 $ 0.34 $6.71

TABLE 1B Summary Combined earnings Combined eCPM Score Third variable$1.02 0.59 0.20 Second variable $0.97 0.62 0.19 First variable $21.650.64 0.22

FIGS. 7, 8, 9, 10, 11, and 12 illustrate various scenarios for adjustingminimum floor prices based on the scores calculated for the variables,in accordance with some embodiments. The score for each variable can beplotted on a graph as a function of time over a plurality of timeperiods. Additionally, the minimum floor price for each variable can beplotted on a graph as a function of time over the plurality of timeperiods. The graphs can be displayed on a computer-implemented display.A change in the score for each variable, and a change in the minimumfloor price for each variable, can be determined from the graphs, asdescribed below. The changes in the scores and the minimum floor pricescan be used to determine real market movements.

FIGS. 7 and 8 illustrate an example in which the first minimum floorprice remains substantially the same across different time periods(i.e., indicative of little or no market movements). As shown in FIG. 7,the scores for the variables may be calculated over different timeperiods. Each time period may correspond to a test channel. The channelsmay include channel 1 (12 am to 6 am), channel 2 (6 am to 12 pm),channel 3 (12 pm to 6 pm), and channel 4 (6 pm to 12 am). The scores mayinclude a first score S1 for the first variable, a second score S2 forthe second variable, and a third score S3 for the third variablecalculated within each time period.

In the first time period (channel 1), the first score S1 (0.34) ishigher than each of the second score S2 (0.21) and the third score S3(0.26). Accordingly, the first minimum floor price ($0.59) for channel 1is to be used as the first minimum floor price for the second timeperiod (channel 2). The second minimum floor price and the third minimumfloor price for channel 2 may be adjusted based on the first minimumfloor price for channel 2. For example, the second minimum floor pricefor channel 2 may be y $0.10 above the first minimum floor price forchannel 2, such that the second minimum floor price is $0.69.Conversely, the third minimum floor price for channel 2 may be y $0.10below the first minimum floor price for channel 2, such that the thirdminimum floor price is $0.49.

Similarly, in the second time period (channel 2), the first score S1(0.35) is higher than each of the second score S2 (0.22) and the thirdscore S3 (0.23). Accordingly, the first minimum floor price ($0.59) forchannel 2 is to be used as the first minimum floor price for the thirdtime period (channel 3). The second minimum floor price and the thirdminimum floor price for channel 3 may be adjusted based on the firstminimum floor price for channel 3. For example, the second minimum floorprice for channel 3 may be $0.10 above the first minimum floor price forchannel 3, such that the second minimum floor price is $0.69.Conversely, the third minimum floor price for channel 3 may be $0.10below the first minimum floor price for channel 3, such that the thirdminimum floor price is $0.59.

Likewise, at the end of the third time period (channel 3), the firstscore S1 (0.34) is higher than each of the second score S2 (0.23) andthe third score S3 (0.29). Accordingly, the first minimum floor price($0.59) for channel 3 is to be used as the first minimum floor price forthe fourth time period (channel 4). The second minimum floor price andthe third minimum floor price for channel 4 may be adjusted based on thefirst minimum floor price for channel 4. For example, the second minimumfloor price for channel 4 may be $0.10 above the first minimum floorprice for channel 4, such that the second minimum floor price is $0.69.Conversely, the third minimum floor price for channel 4 may be $0.10below the first minimum floor price for channel 4, such that the thirdminimum floor price is $0.59.

The minimum floor prices in FIG. 7 may be plotted in FIG. 8. As shown inFIG. 8, the first minimum floor price may remain the same across two ormore time periods when the first score has the highest value across thetwo or more time periods. The first variable may be indicative of littleto no market movement, such that an ad price for the ad placementsubstantially tracks the first minimum floor price.

FIGS. 9 and 10 illustrate an example in which the first minimum floorprice is continuously adjusted upwards across different time periods(i.e., the market is moving upwards). As shown in FIG. 9, the scores forthe variables may be calculated over different time periods. Each timeperiod may correspond to a test channel. The channels may includechannel 1 (12 am to 6 am), channel 2 (6 am to 12 pm), channel 3 (12 pmto 6 pm), and channel 4 (6 pm to 12 am). The scores may include a firstscore S1 for the first variable, a second score S2 for the secondvariable, and a third score S3 for the third variable calculated withineach time period.

In the first time period (channel 1), the second score S2 (0.43) ishigher than each of the first score S1 (0.31) and the third score S3(0.21). Accordingly, the second minimum floor price ($0.65) for channel1 is to be used as the first minimum floor price for the second timeperiod (channel 2). The second minimum floor price and the third minimumfloor price for channel 2 may be adjusted based on the first minimumfloor price for channel 2. For example, the second minimum floor pricefor channel 2 may be $0.10 above the first minimum floor price forchannel 2, such that the second minimum floor price is $0.75.Conversely, the third minimum floor price for channel 2 may be $0.10below the first minimum floor price for channel 2, such that the thirdminimum floor price is $0.55.

In the second time period (channel 2), the second score S2 (0.46) ishigher than each of the first score S2 (0.35) and the third score S3(0.22). Accordingly, the second minimum floor price ($0.75) for channel2 is to be used as the first minimum floor price for the third timeperiod (channel 3). The second minimum floor price and the third minimumfloor price for channel 3 may be adjusted based on the first minimumfloor price for channel 3. For example, the second minimum floor pricefor channel 3 may be $0.10 above the first minimum floor price forchannel 3, such that the second minimum floor price is $0.85.Conversely, the third minimum floor price for channel 3 may be $0.10below the first minimum floor price for channel 3, such that the thirdminimum floor price is $0.65.

In the third time period (channel 3), the second score S2 (0.51) ishigher than each of the first score S2 (0.34) and the third score S3(0.23). Accordingly, the second minimum floor price ($0.85) for channel3 is to be used as the first minimum floor price for the fourth timeperiod (channel 4). The second minimum floor price and the third minimumfloor price for channel 4 may be adjusted based on the first minimumfloor price for channel 4. For example, the second minimum floor pricefor channel 4 may be $0.10 above the first minimum floor price forchannel 4, such that the second minimum floor price is $0.95.Conversely, the third minimum floor price for channel 4 may be $0.10below the first minimum floor price for channel 4, such that the thirdminimum floor price is $0.75.

The resulting minimum floor prices in FIG. 9 may be plotted in FIG. 10.As shown in FIG. 10, the first minimum floor price may be continuouslyadjusted upwards across two or more time periods when the second scorehas the highest value across the two or more time periods. Accordingly,the second variable may be indicative of an upward market movement, suchthat an ad price for the ad placement substantially tracks the secondminimum floor price.

FIGS. 11 and 12 illustrate an example in which the first minimum floorprice is continuously adjusted downwards across different time periods(i.e., the market is moving downwards). As shown in FIG. 11, the scoresfor the variables may be calculated over different time periods. Eachtime period may correspond to a test channel. The channels may includechannel 1 (12 am to 6 am), channel 2 (6 am to 12 pm), channel 3 (12 pmto 6 pm), and channel 4 (6 pm to 12 am). The scores may include a firstscore S1 for the first variable, a second score S2 for the secondvariable, and a third score S3 for the third variable calculated withineach time period.

In the first time period (channel 1), the third score S3 (0.41) ishigher than each of the first score S1 (0.31) and the second score S2(0.21). Accordingly, the third minimum floor price ($0.45) for channel 1is to be used as the first minimum floor price for the second timeperiod (channel 2). The second minimum floor price and the third minimumfloor price for channel 2 may be adjusted based on the first minimumfloor price for channel 2. For example, the second minimum floor pricefor channel 2 may be $0.10 above the first minimum floor price forchannel 2, such that the second minimum floor price is $0.55.Conversely, the third minimum floor price for channel 2 may be $0.10below the first minimum floor price for channel 2, such that the thirdminimum floor price is $0.35.

In the second time period (channel 2), the third score S3 (0.44) ishigher than each of the first score S2 (0.33) and the second score S2(0.39). Accordingly, the third minimum floor price ($0.35) for channel 2is to be used as the first minimum floor price for the third time period(channel 3). The second minimum floor price and the third minimum floorprice for channel 3 may be adjusted based on the first minimum floorprice for channel 3. For example, the second minimum floor price forchannel 3 may be $0.10 above the first minimum floor price for channel3, such that the second minimum floor price is $0.45. Conversely, thethird minimum floor price for channel 3 may be $0.10 below the firstminimum floor price for channel 3, such that the third minimum floorprice is $0.25.

In the third time period (channel 3), the third score S3 (0.51) ishigher than each of the first score S2 (0.34) and the second score S2(0.41). Accordingly, the third minimum floor price ($0.25) for channel 3is to be used as the first minimum floor price for the fourth timeperiod (channel 4). The second minimum floor price and the third minimumfloor price for channel 4 may be adjusted based on the first minimumfloor price for channel 4. For example, the second minimum floor pricefor channel 4 may be $0.10 above the first minimum floor price forchannel 4, such that the second minimum floor price is $0.35.Conversely, the third minimum floor price for channel 4 may be $0.10below the first minimum floor price for channel 4, such that the thirdminimum floor price is $0.15.

The minimum floor prices in FIG. 11 may be plotted in FIG. 12. As shownin FIG. 12, the first minimum floor price may be continuously adjusteddownwards across two or more time periods when the third score has thehighest value across the two or more time periods. Accordingly, thethird variable may be indicative of a downward market movement, suchthat an ad price for the ad placement substantially tracks the thirdminimum floor price.

FIG. 13 illustrates a flowchart depicting a method of processing adrequests and optimizing publisher revenue, in accordance with someembodiments. The method in FIG. 13 can be implemented using one or moreof the previously-described embodiments. For example, the method in FIG.13 can be implemented using the network layout shown in FIG. 2.

Referring to FIG. 13, a visitor (e.g., a user) may visit a website thatuses the ad code described elsewhere herein. When the browser on theuser device executes the ad code, an ad call (or ad request) isgenerated. Next, a market analysis system (e.g., market analysis system250) may transmit an available ad impression to an ad exchange server(e.g., ad exchange server 260). The ad exchange server may offer theavailable impression to potential buyers (e.g., advertisers andadvertising networks) through an online auction. The buyers' softwaremay submit bids for the auction via one or more ad network servers(e.g., ad network servers 270). The ad exchange server may receive thebid data and handle the auction based on a set of auction criteria. Theset of auction criteria may be generated and provided by the marketanalysis system. The set of auction criteria may include a plurality ofvariables (e.g., first variable, second variable, and third variable) asdescribed elsewhere herein. Available impressions can be tested atdifferent floor prices for different amounts of time within each timeperiod (for example, as described with reference to FIGS. 3, 4A, and4B). The ad exchange server may filter the bid data based on the auctioncriteria, and select a winning bid for each ad placement. The buyer(advertising network) that submitted the winning bid may be informed.The ad network server may send instructions to an ad server (e.g., adserver 240) to deliver the “winning” ad on the website. An ad impressionis counted when the ad is fully loaded on the website (or a webapplication). The market analysis system may also receive the auctionresults from the ad exchange server. In some cases, a summary of theauction results may be generated over time periods, for differentvariables as described elsewhere herein. The market analysis system mayprocess (analyze) the results based on collected historical data, forexample as previously described with reference to FIGS. 5 through 12.Specifically, the market analysis system may execute one or more sets ofcomputer program instructions to calculate the scores for the differentvariables, and compare the scores in order to determine whether toadjust one or more of the first minimum floor price, second minimumfloor price, and/or third minimum floor price, as described elsewhereherein. Next, the market analysis system may generate a new set ofcriteria for future auctions based on the comparison results, andprovide the new set of criteria to the ad exchange server. The adexchange server may then handle the auctions based on the new set ofcriteria. The above sequence of steps may be repeated over within andover different time periods, for different ad placements, for different(segmentation) categories, etc. As previously mentioned, the differentcategories can be segmented by device type (e.g., desktop andnon-desktop) and country tiers.

FIGS. 14 and 15 illustrate a portal for managing ad inventory andmonitoring ad price market movements, in accordance with someembodiments. The portal can be hosted by a market analysis system, andused by one or more entities. In some cases, an entity may be apublisher. The publisher can view the optimization of ad revenue via theportal (e.g., the dashboard shown in FIG. 15). The portal may beprovided through an application programming interface (API). The datacontained in the portal can be rendered through a graphical userinterface (GUI) on a computing device. A user or entity can alsointeract with various elements in the portal via the GUI.

Referring to FIG. 14, the inventory for available ad units is shown. Theavailable ad impressions may be shown on a website (e.g.,mobilestrikeguide.com), and contain a plurality of ad units. Forexample, there may be two 300×250 ad units, and a 728×90 ad unit. The300×250 ad unit is an IAB standard ad unit with dimensions of 300 pixelswide by 250 pixels tall (also known as medium rectangle). The 728×90 adunit is an IAB standard ad unit with dimensions of 728 pixels wide by 90pixels tall (also known as leaderboard). The 300×250 ad unit may dividedinto a plurality of price levels (e.g., level 1, level 2, and level 3).In some cases, level 1 may be indicative of a top price level, level 2may be indicative of a middle price level, and level 3 may be indicativeof a bottom price level. The ad unit can be tested at different floorprices between different levels. In the example of FIG. 14, the floorprice for level 1 may be active, the floor price for level 2 may be setto $0, and the floor price for level 3 may be turned off. The auctionsfor the ad units may be handled (for example, by an ad exchange server)based on the settings for the floor prices, as described elsewhereherein.

FIG. 15 shows a dashboard for tracking ad revenue over a time period, inaccordance with some embodiments. A publisher can use the dashboard totrack market movements and ad revenue. For example, as shown in FIG. 15,the ad revenue for “today” may be $30.55, and the ad revenue for“yesterday” may be $36.90. An indicator shows that the ad venue for“yesterday” is 7.98% higher than the ad revenue for “today.” The adrevenue for the current month may be $745.77, whereas the ad revenue forthe previous month may be $0. The plots in FIG. 15 may show the numberof impressions, earnings, and e-CPM over a time period (e.g., Apr. 13,2016 to Apr. 19, 2016).

In some embodiments, one role of the market analysis system may be tohelp publishers optimize their ad revenues. The market analysis systemcan facilitate the ad bidding/auction process between the two entities(e.g., publisher(s)/publisher content servers and demandpartners/advertising networks). For example, an online publisher orcontent provider may have 100 ad spots that it wants to fill. The marketanalysis system can help the publisher and/or content provider toautomatically set/adjust different minimum floor prices for different adplacements. The market analysis system can help the publisher tooptimize the overall earnings of an ad placement for an ad unit. Themarket analysis system can also help to determine the optimal pricing ofdifferent ad units (to maximize the overall ad earnings of a displayable“real estate”), and set minimum floor prices above which advertisers arewilling to pay for those ad units. This can ensure that advertisers arenot be turned away by overly-high prices, and as such publishers willnot incur lost profits, and is therefore advantageous for both sides ofthe transacting parties.

Computer Control Systems

The present disclosure provides computer control systems that areprogrammed to implement methods of the disclosure. FIG. 16 shows acomputer system 1601 that is programmed or otherwise configured toimplement a method for optimizing publisher profits in onlineadvertising based on real market movements. The computer system 1601 canregulate various aspects of online ad pricing of the present disclosure,such as, for example, one or more minimum floor prices by which bids fordifferent ad placements are processed. The computer system 1601 can bean electronic device of a user or a computer system that is remotelylocated with respect to the electronic device. The electronic device canbe a mobile electronic device.

The computer system 1601 includes a central processing unit (CPU, also“processor” and “computer processor” herein) 1605, which can be a singlecore or multi core processor, or a plurality of processors for parallelprocessing. The computer system 1601 also includes memory or memorylocation 1610 (e.g., random-access memory, read-only memory, flashmemory), electronic storage unit 1615 (e.g., hard disk), communicationinterface 1620 (e.g., network adapter) for communicating with one ormore other systems, and peripheral devices 1625, such as cache, othermemory, data storage and/or electronic display adapters. The memory1610, storage unit 1615, interface 1620 and peripheral devices 1625 arein communication with the CPU 1605 through a communication bus (solidlines), such as a motherboard. The storage unit 1615 can be a datastorage unit (or data repository) for storing data. The computer system1601 can be operatively coupled to a computer network (“network”) 1630with the aid of the communication interface 1620. The network 1630 canbe the Internet, an internet and/or extranet, or an intranet and/orextranet that is in communication with the Internet. The network 1630 insome cases is a telecommunication and/or data network. The network 1630can include one or more computer servers, which can enable distributedcomputing, such as cloud computing. The network 1630, in some cases withthe aid of the computer system 1601, can implement a peer-to-peernetwork, which may enable devices coupled to the computer system 1601 tobehave as a client or a server.

The CPU 1605 can execute a sequence of machine-readable instructions,which can be embodied in a program or software. The instructions may bestored in a memory location, such as the memory 1610. The instructionscan be directed to the CPU 1605, which can subsequently program orotherwise configure the CPU 1605 to implement methods of the presentdisclosure. Examples of operations performed by the CPU 1605 can includefetch, decode, execute, and writeback.

The CPU 1605 can be part of a circuit, such as an integrated circuit.One or more other components of the system 1601 can be included in thecircuit. In some cases, the circuit is an application specificintegrated circuit (ASIC).

The storage unit 1615 can store files, such as drivers, libraries andsaved programs. The storage unit 1615 can store user data, e.g., userpreferences and user programs. The computer system 1601 in some casescan include one or more additional data storage units that are externalto the computer system 1601, such as located on a remote server that isin communication with the computer system 1601 through an intranet orthe Internet.

The computer system 1601 can communicate with one or more remotecomputer systems through the network 1630. For instance, the computersystem 1601 can communicate with a remote computer system of a user(e.g., an end user, a consumer, a publisher, an advertiser, anadvertising broker, an advertising agency, etc.). Examples of remotecomputer systems include personal computers (e.g., portable PC), slateor tablet PC's (e.g., Apple® iPad, Samsung® Galaxy Tab), telephones,Smart phones (e.g., Apple® iPhone, Android-enabled device, Blackberry®),or personal digital assistants. The user can access the computer system1601 via the network 1630.

Methods as described herein can be implemented by way of machine (e.g.,computer processor) executable code stored on an electronic storagelocation of the computer system 1601, such as, for example, on thememory 1610 or electronic storage unit 1615. The machine executable ormachine readable code can be provided in the form of software. Duringuse, the code can be executed by the processor 1605. In some cases, thecode can be retrieved from the storage unit 1615 and stored on thememory 1610 for ready access by the processor 1605. In some situations,the electronic storage unit 1615 can be precluded, andmachine-executable instructions are stored on memory 1610.

The code can be pre-compiled and configured for use with a machinehaving a processer adapted to execute the code, or can be compiledduring runtime. The code can be supplied in a programming language thatcan be selected to enable the code to execute in a pre-compiled oras-compiled fashion.

Aspects of the systems and methods provided herein, such as the computersystem 1601, can be embodied in programming. Various aspects of thetechnology may be thought of as “products” or “articles of manufacture”typically in the form of machine (or processor) executable code and/orassociated data that is carried on or embodied in a type of machinereadable medium. Machine-executable code can be stored on an electronicstorage unit, such as memory (e.g., read-only memory, random-accessmemory, flash memory) or a hard disk. “Storage” type media can includeany or all of the tangible memory of the computers, processors or thelike, or associated modules thereof, such as various semiconductormemories, tape drives, disk drives and the like, which may providenon-transitory storage at any time for the software programming. All orportions of the software may at times be communicated through theInternet or various other telecommunication networks. Suchcommunications, for example, may enable loading of the software from onecomputer or processor into another, for example, from a managementserver or host computer into the computer platform of an applicationserver. Thus, another type of media that may bear the software elementsincludes optical, electrical and electromagnetic waves, such as usedacross physical interfaces between local devices, through wired andoptical landline networks and over various air-links. The physicalelements that carry such waves, such as wired or wireless links, opticallinks or the like, also may be considered as media bearing the software.As used herein, unless restricted to non-transitory, tangible “storage”media, terms such as computer or machine “readable medium” refer to anymedium that participates in providing instructions to a processor forexecution.

Hence, a machine readable medium, such as computer-executable code, maytake many forms, including but not limited to, a tangible storagemedium, a carrier wave medium or physical transmission medium.Non-volatile storage media include, for example, optical or magneticdisks, such as any of the storage devices in any computer(s) or thelike, such as may be used to implement the databases, etc. shown in thedrawings. Volatile storage media include dynamic memory, such as mainmemory of such a computer platform. Tangible transmission media includecoaxial cables; copper wire and fiber optics, including the wires thatcomprise a bus within a computer system. Carrier-wave transmission mediamay take the form of electric or electromagnetic signals, or acoustic orlight waves such as those generated during radio frequency (RF) andinfrared (IR) data communications. Common forms of computer-readablemedia therefore include for example: a floppy disk, a flexible disk,hard disk, magnetic tape, any other magnetic medium, a CD-ROM, DVD orDVD-ROM, any other optical medium, punch cards paper tape, any otherphysical storage medium with patterns of holes, a RAM, a ROM, a PROM andEPROM, a FLASH-EPROM, any other memory chip or cartridge, a carrier wavetransporting data or instructions, cables or links transporting such acarrier wave, or any other medium from which a computer may readprogramming code and/or data. Many of these forms of computer readablemedia may be involved in carrying one or more sequences of one or moreinstructions to a processor for execution.

The computer system 1601 can include or be in communication with anelectronic display 1635 that comprises a user interface (UI) 1640 forproviding, for example, a portal for managing ad inventory andmonitoring ad price market movements. A publisher can view theoptimization of ad revenue via the portal (e.g., the dashboard shown inFIG. 15). The portal may be provided through an application programminginterface (API). A user or entity can also interact with variouselements in the portal via the UI. Examples of UI's include, withoutlimitation, a graphical user interface (GUI) and web-based userinterface.

Methods and systems of the present disclosure can be implemented by wayof one or more algorithms. An algorithm can be implemented by way ofsoftware upon execution by the central processing unit 1605. Thealgorithm can be configured to divide an advertisement (ad) placementfor an ad unit into a plurality of price levels. For example, the adunit levels may comprise a middle level having a first price range, atop level having a second price range, and a bottom level having a thirdprice range. A plurality of minimum floor prices may be provided betweenad unit levels, for example as described elsewhere herein. The differentfloor prices may be used as price floor testing levels in order to testmarket movements for an ad unit (i.e., whether advertisers are willingto pay more or pay less for a given ad unit). The algorithm can beconfigured to generate a plurality of variables that are configured totest for the real market movements. The plurality of variables maycomprise (1) a first variable in which the first minimum floor price isused as a baseline, (2) a second variable in which the second minimumfloor price is set to be a predetermined percentage above the firstminimum floor price, and (3) a third variable in which the third minimumfloor price is set to be the predetermined percentage below the firstminimum floor price. The algorithm may be further configured to processad impressions based on the plurality of variables within a time periodto evaluate the real market movements for the ad unit, and determinewhether to adjust one or more of the minimum floor prices based on ascore for each variable calculated within the time period.

While preferred embodiments of the present invention have been shown anddescribed herein, it will be obvious to those skilled in the art thatsuch embodiments are provided by way of example only. It is not intendedthat the invention be limited by the specific examples provided withinthe specification. While the invention has been described with referenceto the aforementioned specification, the descriptions and illustrationsof the embodiments herein are not meant to be construed in a limitingsense. Numerous variations, changes, and substitutions will now occur tothose skilled in the art without departing from the invention.Furthermore, it shall be understood that all aspects of the inventionare not limited to the specific depictions, configurations or relativeproportions set forth herein which depend upon a variety of conditionsand variables. It should be understood that various alternatives to theembodiments of the invention described herein may be employed inpracticing the invention. It is therefore contemplated that theinvention shall also cover any such alternatives, modifications,variations or equivalents. It is intended that the following claimsdefine the scope of the invention and that methods and structures withinthe scope of these claims and their equivalents be covered thereby.

While preferred embodiments of the present invention have been shown anddescribed herein, it will be obvious to those skilled in the art thatsuch embodiments are provided by way of example only. Numerousvariations, changes, and substitutions will now occur to those skilledin the art without departing from the invention. It should be understoodthat various alternatives to the embodiments of the invention describedherein may be employed in practicing the invention. It is intended thatthe following claims define the scope of the invention and that methodsand structures within the scope of these claims and their equivalents becovered thereby.

1. A computer-implemented method for optimizing publisher profits inonline advertising based on market movements detected via testing of themarket using a plurality of variables, and for optimizing utilization ofan entire or available displayable webpage area for online advertisement(ad) placements, wherein said method permits a publisher to view inreal-time on a user interface of a computing device the market movementsfor an advertisement (ad) unit and an amount of optimized profits forthe ad unit at a given point in a time period, the method comprising:receiving an ad placement for the ad unit; dividing the ad placementinto a plurality of levels; generating the plurality of variables incomputer memory that are configured to monitor the market movementsrelated to pricing of the ad unit between levels, wherein the pluralityof variables comprise (1) a first variable in which a first minimumfloor price is used as a baseline, (2) a second variable in which asecond minimum floor price is set to be a predetermined percentage abovethe first minimum floor price, and (3) a third variable in which a thirdminimum floor price is set to be the predetermined percentage below thefirst minimum floor price, wherein the plurality of variables is usableto determine sensitivity for different pricings of the ad unit, whereinthe second and third minimum floor prices are usable to evaluate whethera buyer is willing to pay more or pay less for the ad unit, and whereinthe second and third variables are usable to detect whether there is anupward movement or downward movement in market demand for the ad unit;processing auction results of different ad impressions in real-timebased on the plurality of variables within a time period to evaluate themarket movements for the ad unit; calculating scores for the pluralityof variables, which scores are indicative of whether the market demandfor the ad unit is moving upwards, moving downwards, or unchanged duringthe time period, wherein the score for each variable is calculatedwithout processing buyer-specific information; automatically determiningwhether to adjust one or more of the minimum floor prices based on thescores; and displaying, the score for each variable on a graph as afunction of time and any adjustments to the one or more minimum floorprices in response to the market demand for the ad unit, as one or moregraphical visual objects in a user interface on the computing device ofthe publisher, such that the publisher is able to view in real-time onthe user interface of the computing device the market movements for thead unit and the amount of optimized profits for the ad unit at the givenpoint in the time period based on the calculated scores for theplurality of variables, wherein the amount of optimized profits for thead unit is a result of optimizing the utilization of the entire oravailable displayable webpage area for online ad placements.
 2. Themethod of claim 1, wherein the one or more minimum floor prices aredynamically adjusted over different time periods to optimize thepublisher profits for an ad call.
 3. The method of claim 1, wherein thefirst minimum floor price is less than the second minimum floor price,and greater than the third minimum floor price.
 4. The method of claim1, comprising: obtaining a plurality of metrics for each variable duringeach time period, wherein said plurality of metrics comprise: (i) numberof ad requests, (ii) number of ad requests, (iii) number of fillimpressions, (iv) fill rate, (v) cost per mille (CPM), and/or (vi)earnings.
 5. The method of claim 4, wherein the score for each variableis calculated based on (i) the earnings at a first level and at a secondlevel during the time period, and (ii) the number of ad requests at thefirst level.
 6. The method of claim 5, wherein: (1) a first score forthe first variable is calculated by (a) summing the earnings at thefirst minimum floor price at the first level and the second level, and(b) dividing the earnings by the number of ad requests at the firstminimum floor price at the first level; (2) a second score for thesecond variable is calculated by (a) summing the earnings at the secondminimum floor price at the first level and the second level, and (b)dividing the earnings by the number of ad requests at the second minimumfloor price at the first level; and (3) a third score for the thirdvariable is calculated by (a) summing the earnings at the third minimumfloor price at the first level and the second level, and (b) dividingthe earnings by the number of ad requests at the third minimum floorprice at the first level.
 7. The method of claim 6, further comprising:comparing the first score, the second score, and the third score for thetime period to yield a comparison of which score has a highest value;and determining whether to adjust at least one of the first minimumfloor price, second minimum floor price, or third floor price based onsaid comparison.
 8. The method of claim 7, wherein the first minimumfloor price at the first level is adjusted to: (1) correspond to thefirst minimum floor price at the second level when the first score ishigher than each of the second score and third score, (2) correspond tothe second minimum floor price at the second level when the second scoreis higher than each of the first score and third score, or (3)correspond to the third minimum floor price at the second level when thethird score is higher than each of the first score and second score. 9.The method of claim 1, wherein the processing of the auction results ofthe different ad impressions in real-time comprises: processing theauction results of the ad impressions based on the plurality ofvariables at a first level selected from the plurality of levels, andthen processing the auction results of the ad impressions that areunfilled from the first level at a second level selected from theplurality of levels, wherein the second level is below the first level,and wherein processing the auction results of the ad impressions at thefirst level and then at the second level aids in optimizing thepublisher profits (i) by minimizing a number of unfilled ad impressionsand (ii) by maximizing an entire displayable area for the ad placement,without focusing on a single minimum floor price.
 10. The method ofclaim 9, wherein the scores for the plurality of variables arecalculated based on (i) earnings at both the first and second levels and(ii) a number of ad requests at the first level.
 11. The method of claim7, wherein the first minimum floor price remains the same across two ormore time periods when the first score has the highest value across thetwo or more time periods.
 12. The method of claim 7, wherein the firstminimum floor price is continuously adjusted upwards across two or moretime periods when the second score has the highest value across the twoor more time periods.
 13. The method of claim 7, wherein the firstminimum floor price is continuously adjusted downwards across two ormore time periods when the third score has the highest value across thetwo or more time periods.
 14. The method of claim 1, wherein the firstvariable is indicative of little to no market movement, such that an adprice for the ad placement substantially tracks the first minimum floorprice.
 15. The method of claim 1, wherein the second variable isindicative of an upward market movement, such that an ad price for thead placement substantially tracks the second minimum floor price. 16.The method of claim 1, wherein the third variable is indicative of adownward market movement, such that an ad price for the ad placementsubstantially tracks the third minimum floor price.
 17. The method ofclaim 1, wherein during the time period, the first minimum floor priceis applied for a first predetermined amount of time, the second minimumfloor price is applied for a second predetermined amount of time, andthe third minimum floor price is applied for a third predeterminedamount of time.
 18. The method of claim 1, wherein the first minimumfloor price, second minimum floor price, and third minimum floor priceare applied in a random or pseudorandom order during the time period.19. The method of claim 1, wherein the first minimum floor price, secondminimum floor price, and third minimum floor price are applied in apredetermined order during the time period.
 20. The method of claim 1,wherein the ad impressions are segmented into two or more categories,and wherein the two or more categories comprise: (1) device typesincluding (i) mobile devices and (ii) desktop personal computerssub-categories, and (2) geographical regions where the ad impressionsare displayed to a plurality of end users.
 21. The method of claim 1,wherein the ad impressions at the first, second, and third minimum floorprices are provided to each user of a plurality of end-users ondifferent display areas of a computer-implemented graphical interface,and wherein the different display areas comprise a central area and aperipheral area of the computer-implemented graphical interface.
 22. Themethod of claim 21, wherein the profits of the ad placement areoptimized by utilizing the different display areas of thecomputer-implemented graphical interface.
 23. The method of claim 1,wherein the second variable and the third variable are test variablesthat are usable in conjunction with the first variable to monitor themarket movements related to the pricing of the ad unit between levels.24. The method of claim 1, wherein the score for each variable iscalculated by a third party entity that is different from an entity thatadministers an ad server and/or an advertising network.
 25. The methodof claim 6, further comprising: plotting the score for each variable onthe graph as a function of time over a plurality of time periods,wherein said graph is configured to be displayed on acomputer-implemented display.
 26. The method of claim 25, furthercomprising: determining a change in the score for each variable from thegraph on the computer-implemented display.
 27. The method of claim 6,further comprising: plotting the minimum floor price for each variableon a graph as a function of time over the plurality of time periods,wherein said graph is configured to be displayed on acomputer-implemented display.
 28. The method of claim 27, furthercomprising: determining a change in the minimum floor price for eachvariable from the graph on the computer-implemented display.
 29. Asystem for optimizing publisher profits in online advertising based onmarket movements detected via testing of the market using a plurality ofvariables, and for optimizing utilization of an entire or availabledisplayable webpage area for online advertisement (ad) placements,wherein said system permits a publisher to view in real-time on a userinterface of a computing device the market movements for anadvertisement (ad) unit and an amount of optimized profits for the adunit at a given point in a time period, said system comprising: a marketanalysis server in communication with an ad exchange server and one ormore advertising network servers, wherein the market analysis servercomprises one or more processors that are individually or collectivelyconfigured to: receive an ad placement for the ad unit; divide the adplacement into a plurality of levels; generate the plurality ofvariables in a computer memory that are configured to monitor the marketmovements related to pricing of the ad unit between levels, wherein theplurality of variables comprise (1) a first variable in which a firstminimum floor price is used as a baseline, (2) a second variable inwhich a second minimum floor price is set to be a predeterminedpercentage above the first minimum floor price, and (3) a third variablein which a third minimum floor price is set to be the predeterminedpercentage below the first minimum floor price, wherein the plurality ofvariables is usable to determine sensitivity for different pricings ofthe ad unit, wherein the second and third minimum floor prices areusable to evaluate whether a buyer is willing to pay more or pay lessfor the ad unit, and wherein the second and third variables are usableto detect whether there is an upward movement or downward movement inmarket demand for the ad unit; process auction results of different adimpressions via the ad server in real-time based on the plurality ofvariables within a time period to evaluate the market movements for thead unit; calculate scores for the plurality of variables, which scoresare indicative of whether the market demand for the ad unit is movingupwards, moving downwards, or unchanged during the time period, whereinthe score for each variable is calculated without processingbuyer-specific information; automatically determine whether to adjustone or more of the minimum floor prices based on the scores; anddisplay, the score for each variable on a graph as a function of timeand any adjustments to the one or more minimum floor prices in responseto the market demand for the ad unit, as one or more graphical visualobjects in a user interface on the computing device of the publisher,such that the publisher is able to view in real-time on the userinterface of the computing device the market movements for the ad unitand the amount of optimized profits for the ad unit at the given pointin the time period based on the calculated scores for the plurality ofvariables, wherein the amount of optimized profits for the ad unit is aresult of optimizing the utilization of the entire or availabledisplayable webpage area for online ad placements.
 30. A tangiblecomputer readable medium storing instructions that, when executed by oneor more servers, causes the one or more servers to perform acomputer-implemented method for optimizing publisher profits in onlineadvertising based on market movements detected via testing of the marketusing a plurality of variables, and for optimizing utilization of anentire or available displayable webpage area for online advertisement(ad) placements, wherein said method permits a publisher to view inreal-time on a user interface of a computing device the market movementsfor an advertisement (ad) unit and an amount of optimized profits forthe ad unit at a given point in a time period, said method comprising:receiving an ad placement for the ad unit; dividing the ad placementinto a plurality of levels; generating the plurality of variables thatare configured to monitor the market movements related to pricing of thead unit between levels, wherein the plurality of variables comprise (1)a first variable in which a first minimum floor price is used as abaseline, (2) a second variable in which a second minimum floor price isset to be a predetermined percentage above the first minimum floorprice, and (3) a third variable in which a third minimum floor price isset to be the predetermined percentage below the first minimum floorprice, wherein the plurality of variables is usable to determinesensitivity for different pricings of the ad unit, wherein the secondand third minimum floor prices are usable to evaluate whether a buyer iswilling to pay more or pay less for the ad unit, and wherein the secondand third variables are usable to detect whether there is an upwardmovement or downward movement in market demand for the ad unit;processing auction results of different ad impressions in real-timebased on the plurality of variables within a time period to evaluate themarket movements for the ad unit; calculating scores for the pluralityof variables, which scores are indicative of whether the market demandfor the ad unit is moving upwards, moving downwards, or unchanged duringthe time period, wherein the score for each variable is calculatedwithout processing buyer-specific information; automatically determiningwhether to adjust one or more of the minimum floor prices based on thescores; and displaying, the score for each variable on a graph as afunction of time and any adjustments to the one or more minimum floorprices in response to the market demand for the ad unit, as one or moregraphical visual objects in a user interface on the computing device ofthe publisher, such that the publisher is able to view in real-time onthe user interface of the computing device the market movements for thead unit and the amount of optimized profits for the ad unit at the givenpoint in the time period based on the calculated scores for theplurality of variables, wherein the amount of optimized profits for thead unit is a result of optimizing the utilization of the entire oravailable displayable webpage area for online ad placements.
 31. Themethod of claim 1, wherein the auction results of the different adimpressions are obtained from an ad exchange server or an ad server. 32.The method of claim 31, wherein said method is implemented on a marketanalysis system that is separate from the ad exchange server or the adserver.
 33. The method of claim 1, wherein the buyer-specificinformation comprises identities of one or more buyers, and historicalbid data including bid prices and patterns of the one or more buyers.34. The method of claim 1, wherein the second and third variables areusable to test market demand for the ad unit by offering the ad unit atthe second and third minimum floor prices to one or more buyers atdifferent points within the time period to detect whether there is anupward movement or downward movement in the market demand for the adunit.
 35. The method of claim 1, wherein the scores for the plurality ofvariables are configured to factor in any discrepancies between a numberof ad impressions and a number of matched requests for the ad unit.